A Confluence Checker for Constraint Handling Rules with Persistent Constraints

نویسندگان

  • Frank Richter
  • Daniel Gall
  • Thom Frühwirth
چکیده

In the abstract operational semantics of Constraint Handling Rules (CHR), propagation rules, i.e. rules that only add information, can be applied again and again. This trivial non-termination is typically avoided by a propagation history. A more declarative approach are persistent constraints. Constraints that are introduced by propagation rules are made persistent and cannot be removed. Now a propagation rule is only applied, if its derived constraints are not already persistent. The operational semantics with persistent constraints ω! differs substantially from other operational semantics, hence the standard confluence test cannot be applied. In this paper, a confluence test for ω! is presented. Since ω! breaks monotonicity of CHR, a weaker property is established that is shown to suffice for a decidable confluence criterion for terminating ω! programs. The confluence test is implemented using a source to source transformation.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Abstract Critical Pairs and Confluence of Arbitrary Binary Relations

Critical Pairs and Confluence of Arbitrary Binary Relations Rémy Haemmerlé and François Fages Projet Contraintes – INRIA Rocquencourt – France [email protected] Abstract. In a seminal paper, Huet introduced abstract properties of term rewriting systems, and the confluence analysis of terminating term rewriting systems by critical pairs computation. In this paper, we provide an abstrac...

متن کامل

Operational Semantics and Confluence of Constraint Propagation Rules

Constraint Handling Rules (CHR) allow one to specify and implement both propagation and simpliication for user-deened constraints. Since a propagation rule is applicable again and again, we present in this paper for the rst time an operational semantics for CHR that avoids the termination problem with propagation rules. In previous work AFM96], a suucient and necessary condition for the connuen...

متن کامل

Justifications in Constraint Handling Rules for Logical Retraction in Dynamic Algorithms

We present a straightforward source-to-source transformation that introduces justifications for user-defined constraints into the CHR programming language. Then a scheme of two rules suffices to allow for logical retraction (deletion, removal) of constraints during computation. Without the need to recompute from scratch, these rules remove not only the constraint but also undo all consequences ...

متن کامل

The Refined Operational Semantics of Constraint Handling Rules

Constraint Handling Rules (CHRs) are a high-level rulebased programming language commonly used to write constraint solvers. The theoretical operational semantics for CHRs is highly non-deterministic and relies on writing confluent programs to have a meaningful behaviour. Implementations of CHRs use an operational semantics which is considerably finer than the theoretical operational semantics, ...

متن کامل

Observable Confluence for Constraint Handling Rules

Constraint Handling Rules (CHRs) are a powerful rule based language for specifying constraint solvers. Critical for any rule based language is the notion of confluence, and for terminating CHRs there is a decidable test for confluence. But many CHR programs that in practice are confluent fail this confluence test. The problem is that the states that illustrate non-confluence are not reachable i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017